package com.william.jdbcplus.common.annotation;

import com.william.jdbcplus.common.enums.FillType;

import java.lang.annotation.*;

/**
 * 表字段标识
 *
 * @author niliwei
 */
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface TableColumn {

    /**
     * 字段列名
     */
    String value() default "";

    /**
     * 字段名
     */
    String remarks() default "";

    /**
     * 字段注释
     *
     * @return
     */
    String comment() default "";

    /**
     * 列长度
     */
    int size() default 50;

    /**
     * 小数位数
     */
    int digits() default 0;

    /**
     * 是否可空
     */
    boolean nullable() default true;

    /**
     * 是否为数据库表字段
     * 默认 true 存在，false 不存在
     */
    boolean exist() default true;

    /**
     * 字段生成类型, 默认为手填
     */
    FillType fillType() default FillType.INPUT;
}
